ComponentOne Chart for WPF/Silverlight は、連結されたインタラクティブなマーカーやラベルの表示を特別にサポートしています。チャート内でマーカーを作成または表示する方法は1つではないため、必要に応じて適切な設定を行うことができるように、C1Chart コントロールのための拡張可能なオブジェクトモデルが提供されています。
このトピックでは、ChartPanelObject および ChartView.Layers コレクションを使用して、カスタマイズされたさまざまなマーカーやラベルをチャートに提供する方法について説明します。
チャートでチャートパネルを使用するには、そのパネルを ChartView の Layers コレクションに追加する必要があります。
XAML |
コードのコピー
|
---|---|
<c1chart:C1Chart x:Name="chart">
<c1chart:C1Chart.View>
<c1chart:ChartView>
<c1chart:ChartView.Layers>
<c1chart:ChartPanel >
<!-- ChartPanelObjects -->
</c1chart:ChartPanel>
</c1chart:ChartView.Layers>
</c1chart:ChartView>
</c1chart:C1Chart.View>
</c1chart:C1Chart>
|
ChartView.Layers コレクションを使用すれば、チャートパネルをいくつでも追加できます。各パネルには、任意の数の ChartPanelObject を置くことができ、これが基本的にマーカーを定義する UI 要素になります。ChartPanelObject の主なプロパティは次のとおりです。
ChartPanelObject.Content プロパティは任意の UI 要素に設定できます。これにより、マーカーの外観を定義できると共に、データポイントへの連結も指定できます。また、Alignment プロパティを使用してマーカーの外観を定義することもできます。たとえば、位置を中央にしてマーカーを作成できます。それには、HorizontalAlignment プロパティを "center" に設定します。
次の XAML は、左下隅がデータ座標 x=0、y=0 にあるテキストラベルを定義します。
XAML |
コードのコピー
|
---|---|
<c1:ChartPanelObject DataPoint="0,0" VerticalAlignment="Bottom"> <TextBlock Text="ゼロ"/> </c1:ChartPanelObject> |
y=0 の水平マーカーを作成できます。HorizontalAlignment プロパティを Stretch に設定すると、要素の幅がプロットエリアの幅いっぱいまで広げられます。
XAML |
コードのコピー
|
---|---|
<!-- 水平線 --> <c1:ChartPanelObject DataPoint="NaN,0" HorizontalAlignment="Stretch"> <Border BorderBrush="Red" BorderThickness="0,2,0,0" Margin="0,-1,0,0" /> </c1:ChartPanelObject> |
次のサンプルは、垂直マーカーを作成します。
XAML |
コードのコピー
|
---|---|
<!-- 垂直線 --> <c1:ChartPanelObject DataPoint="0,NaN" VerticalAlignment="Stretch"> <Border BorderBrush="Red" BorderThickness="2,0,0,0" Margin="-1,0,0,0" /> </c1:ChartPanelObject> |